<template>
    <div id="newsList">
        <!-- 页面头部 -->
        <HomePageHead></HomePageHead>
        <!-- Banner1 -->
        <HomeBanner1></HomeBanner1>
        <!-- 面包屑导航 -->
        <div class="breadcrumb">
            <div class="inner">
                <span class="location">当前位置:</span>
                <el-breadcrumb :separator-icon="ArrowRight">
                    <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
                    <el-breadcrumb-item :to="{ path: '/newsList' }">{{ name }}</el-breadcrumb-item>
                </el-breadcrumb>
            </div>
        </div>
        <!-- 资讯列表 -->
        <div class="newsList">
            <div class="inner">
                <div class="innerLeft">
                    <ul class="list">
                        <li v-for="(item, index) in newsList" :key="index">
                            <!-- <NuxtLink to="/primaryNavigation/newsDetail/newsDetail">{{ item }}</NuxtLink> -->
                            <!-- <NuxtLink to="/newsDetail/newsDetail">{{ item.title }}</NuxtLink> -->
                            <NuxtLink :to="{ path: `/newsDetail/${item.id}`, query: { listId: routeId, listName: routeName } }"
                                target="_blank">{{ item.title }}</NuxtLink>

                        </li>
                    </ul>
                    <!-- 分页器 -->
                    <div class="pagination">
                        <el-pagination size="small" background layout="prev, pager, next" :total="total" class="mt-4"
                            prev-text="上一页" next-text="下一页" @change="changePage" />
                        <!-- <HomePagination @sendData="handleData"></HomePagination> -->
                    </div>
                </div>
                <div class="innerRight">
                    <DetailHotNews></DetailHotNews>
                </div>
            </div>
        </div>

        <!-- 三农资讯logo -->
        <HomeSannongzixun></HomeSannongzixun>

        <!-- 资讯推荐 -->
        <div class="zixuntuijian">
            <div class="inner">
                <div class="innerLeft">
                    <div class="zixunLeft">
                        <!-- 标题部分 -->
                        <div class="title">
                            <h3>
                                资讯推荐
                                <!-- <span>查看更多</span> -->
                            </h3>
                        </div>
                        <!-- 图片和文字列表 -->
                        <ul class="photo_text">
                            <li v-for="item in news1">
                                <img :src="item.imgurl" alt="">
                                <div>
                                    <h5>{{ item.title }}</h5>
                                    <p>
                                        <span>{{ item.author }}</span>
                                        <span>{{ item.created_at }}</span>
                                    </p>
                                </div>
                            </li>
                            <li v-for="item in news11">
                                <em></em>
                                {{ item.title }}
                            </li>
                        </ul>
                    </div>
                    <div class="zixunRight">
                        <!-- 标题部分 -->
                        <div class="title">
                            <h3>
                                资讯推荐
                                <!-- <span>查看更多</span> -->
                            </h3>
                        </div>
                        <!-- 图片和文字列表 -->
                        <ul class="photo_text">
                            <li v-for="item in news2">
                                <img :src="item.imgurl" alt="">
                                <div>
                                    <h5>{{ item.title }}</h5>
                                    <p>
                                        <span>{{ item.author }}</span>
                                        <span>{{ item.created_at }}</span>
                                    </p>
                                </div>
                            </li>
                            <li v-for="item in news22">
                                <em></em>
                                {{ item.title }}
                            </li>
                        </ul>
                    </div>
                </div>
                <div class="innerRight">
                    <!-- 标题部分 -->
                    <div class="title">
                        <h4>
                            热点资讯
                            <!-- <span>查看更多</span> -->
                        </h4>
                    </div>
                    <!-- 列表 -->
                    <ul class="rightList">
                        <li v-for="item in hotlistall">
                            <img class="left" :src="item.imgurl">
                            <p class="left">{{ item.title }}</p>
                        </li>
                    </ul>
                </div>
            </div>
        </div>

        <!-- 页面底部 -->
        <HomeFoot></HomeFoot>
    </div>
</template>

<script setup>
import { onMounted } from 'vue';
import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
import { ArrowRight } from '@element-plus/icons-vue'

const nuxtApp = useNuxtApp();
const axios = nuxtApp.$axios;

//获得跳转过来的id
const route = useRoute();
const articleId = route.params.id; //获得该页面的id
const category_id = route.query.category_id; //获得该页面的id
const name = route.query.name; //获得该页面的id
console.log(name);


//关键词
let keyWord = useState("keyWord", () => "")
let id = useState("id", () => "")
let total = useState("total", () => 0)
let page = useState("page", () => 1)
let pageSize = useState("pageSize", () => 10)



onMounted(() => {
    id.value = route.query.id;
    console.log('id', id.value);
})

// 页码
// //页面组件传递数据的时间驱动函数
// const handleData = (data) => {
//     console.log(data.value)
//     page.value = data.value

//     //在页码发生变化时去请求响应页面的新闻数据
//     axios.get(`/web/getWebsiteArticleList?page=${page.value}&pageSize=${10}&catid=${14}&keyword=${keyWord.value}`).then(response => {
//         // console.log(response.data.rows);
//         newsList.value = response.data.rows;
//     }).catch(error => {
//         console.error(error);
//     })
// }

let changePage = (value) => {
    console.log("当前页码", value);
    page.value = value
    console.log(page.value);
    newslists()
}

// 新闻列表
const newsList = useState("newsList", () => '');
const newslists = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticleList?page=${page.value}&pageSize=${pageSize.value}&catid=${category_id}`);
        // console.log(response.data.rows);
        newsList.value = response.data.rows;
        total.value = response.data.count;
    } catch (error) {
        console.error(error);
    }
}

//热点资讯
const hotlistall = useState("hotlistall", () => "");
const hotlist = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${2}&level=${4}&placeid=${1}`);
        console.log('热点资讯', response.data);
        for (let item of response.data) {
            console.log(item);
            item.count = 1;
        }
        hotlistall.value = response.data;
    } catch (error) {
        console.error(error);
    }
}

//资讯推荐1
const news1 = useState("news1", () => "");
const newslist1 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news1.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
const news11 = useState("news11", () => "");
const newslist11 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news11.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
//资讯推荐2
const news2 = useState("news2", () => "");
const newslist2 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${1}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news2.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
const news22 = useState("news22", () => "");
const newslist22 = async () => {
    try {
        const response = await axios.get(`/web/getWebsiteArticlett?pageSize=${3}&level=${5}&placeid=${1}`);
        console.log('热点资讯', response.data);
        news22.value = response.data;
    } catch (error) {
        console.error(error);
    }
}
//挂载成功钩子函数
onMounted(() => {

    // 资讯推荐
    newslists()
    // 热点资讯
    hotlist()
    // 资讯推荐
    newslist1()
    newslist2()
    // 热点资讯
    newslist11()
    newslist22()
})

//路由中间件
definePageMeta({
    middleware: 'auth'
})

</script>

<style lang="less" scoped>
//导航条
.breadcrumb {
    width: 100%;
    height: 22px;
    margin-bottom: 30px;
    font-family: Microsoft YaHei, Microsoft YaHei;
    font-weight: 400;
    font-size: 20px;
    color: #666666;
    line-height: 23px;
    text-align: left;
    font-style: normal;
    text-transform: none;

    :deep(.el-breadcrumb) {
        display: inline-block;
        vertical-align: -4px;
    }

    :deep(.el-breadcrumb__inner a),
    :deep(.el-breadcrumb__inner.is-link) {
        color: #666666;
        font-weight: 400;
        text-decoration: none;
        transition: var(--el-transition-color);
    }

    span {
        font-family: Microsoft YaHei, Microsoft YaHei;
        font-weight: 400;
        font-size: 20px;
        color: #666666;
        line-height: 23px;
        text-align: left;
        font-style: normal;
        text-transform: none;
    }

    span:hover {
        color: #666666;
    }

    .location {
        margin-right: 20px;
        width: 100px;
        height: 22px;
        font-family: Microsoft YaHei, Microsoft YaHei;
        font-weight: 400;
        font-size: 20px;
        color: #666666;
        line-height: 23px;
        text-align: left;
        font-style: normal;
        text-transform: none;
    }
}

// 资讯列表
.newsList {
    width: 100%;
    height: 675px;
    margin-bottom: 70px;

    .inner {
        width: 1200px;

        .innerLeft,
        .innerRight {
            border-top: 1px solid #139602;
        }

        .innerLeft {
            height: 675px;

            >.list {
                height: 570px;
                margin-bottom: 70px;

                >li {
                    width: 790px;
                    height: 56px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    line-height: 56px;
                    border-bottom: 1px solid #D9D9D9;

                    >a {
                        width: 360px;
                        height: 26px;

                        font-family: Microsoft YaHei, Microsoft YaHei;
                        font-weight: 400;
                        font-size: 20px;
                        color: #333333;
                        line-height: 26px;
                        text-align: left;
                        font-style: normal;
                        text-transform: none;
                    }

                }

                >li:hover>a {
                    color: #139602;
                }

                >li:nth-child(1)::after,
                >li:nth-child(2)::after {
                    content: "热";
                    margin-left: 13px;
                    background: #FF8A37;
                    color: #fff;
                    font-size: 14px;
                    padding: 0px 2px;
                }
            }

            >.pagination {
                width: 800px;
                height: 34px;
                margin-left: 141px;
                display: flex;
                justify-content: center;
                margin: 0;

                // 鼠标移入后字体颜色
                .el-pagination::v-deep :hover {
                    color: #139609;
                }

                .el-pagination.is-background::v-deep .btn-next,
                .el-pagination.is-background::v-deep .btn-prev {
                    width: 70px;
                    height: 34px;
                    margin: 0px 10px;
                    border-radius: 4px;
                }

                .el-pagination.is-background::v-deep .el-pager li {
                    margin: 0px 10px;
                    width: 38px;
                    height: 34px;
                    border-radius: 4px;
                }

                .el-pagination.is-background::v-deep .btn-next.is-active,
                .el-pagination.is-background::v-deep .btn-prev.is-active,
                .el-pagination.is-background::v-deep .el-pager li.is-active {
                    background-color: #028e21;
                    color: #fff;
                }


            }
        }

        .innerRight {
            width: 381px;
            height: 605px;

        }
    }
}

//资讯推荐
.zixuntuijian {
    width: 100%;
    height: 290px;
    margin-bottom: 70px;

    .innerLeft {

        // 左侧
        .zixunLeft {
            margin-right: 30px;
        }

        .zixunRight,
        .zixunLeft {
            float: left;
            width: 380px;
            height: 290px;

            // 标题部分
            >.title {
                width: 380px;
            }

            >.title>h3 {
                height: 36px;
                font-family: Source Han Sans, Source Han Sans;
                font-weight: bold;
                font-size: 24px;
                color: #000000;
                line-height: 28px;
                text-align: left;
                font-style: normal;
                text-transform: none;
                border-bottom: 1px solid #139602;

            }

            >.title>h3>span {
                float: right;
                width: 56px;
                height: 20px;
                line-height: 24px;
                font-weight: 400;
                font-size: 14px;
                color: #999999;
                font-style: normal;
                text-transform: none;
            }

            .photo_text {

                >li:first-child {
                    width: 380px;
                    height: 120px;
                    margin-top: 20px;
                    margin-bottom: 15px;
                    position: relative;

                    >img {
                        float: left;
                        width: 160px;
                        height: 120px;
                    }

                    >div {
                        float: left;
                        width: 220px;
                        height: 120px;
                        padding-left: 15px;
                        padding-top: 6px;
                        box-sizing: border-box;
                        background-color: #f6f6f6;


                        >h5 {
                            width: 200px;
                            height: 54px;
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            -webkit-line-clamp: 2;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            word-break: break-all;
                            font-family: Source Han Sans, Source Han Sans;
                            font-weight: 500;
                            font-size: 18px;
                            color: #333333;
                            line-height: 26px;
                            text-align: left;
                            font-style: normal;
                            text-transform: none;
                        }

                        >p {
                            width: 200px;
                            height: 22px;
                            line-height: 20px;
                            position: absolute;
                            bottom: 5px;
                            right: 0;

                            >span {
                                display: inline-block;
                                // width: 100px;
                                height: 18px;
                                font-family: Source Han Sans, Source Han Sans;
                                font-weight: 400;
                                font-size: 12px;
                                color: #999999;
                                text-align: left;
                                line-height: 14px;
                                font-style: normal;
                                text-transform: none;
                            }

                            >span:last-child {
                                // width: 90px;
                                text-align: right;
                                margin-left: 20px;
                            }

                        }
                    }
                }

                >li {
                    width: 380px;
                    height: 25px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    font-family: PingFang SC, PingFang SC;
                    font-weight: 500;
                    font-size: 18px;
                    color: #333333;
                    line-height: 21px;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;
                    margin-bottom: 10px;

                    em {
                        display: inline-block;
                        width: 8px;
                        height: 8px;
                        border-radius: 8px;
                        margin-right: 10px;
                        background-color: #d9d9d9;
                    }
                }

                >li:hover {
                    color: #139602;
                }

                >li:hover em {
                    background-color: #139602;
                }
            }
        }
    }

    .innerRight {
        width: 381px;
        height: 290px;
        background-color: #fbfbfb;

        >.title {
            width: 380px;
            height: 40px;
            line-height: 40px;
            border-top: 1px solid #139602;
            border-bottom: 1px solid #e7e7e7;

            >h4 {
                font-family: Microsoft YaHei, Microsoft YaHei;
                font-weight: 400;
                margin-left: 20px;
                font-size: 20px;
                color: #000000;
                text-align: left;
                font-style: normal;
                text-transform: none;

                >span {
                    float: right;
                    font-family: Microsoft YaHei, Microsoft YaHei;
                    font-weight: 400;
                    font-size: 14px;
                    margin-right: 10px;
                    color: #999999;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;
                }
            }

        }

        .rightList {
            height: 540px;
            margin-top: 20px;

            >li {
                height: 100px;
                margin-bottom: 10px;

                >img {
                    width: 150px;
                    height: 100px;
                }

                >p {
                    width: 219px;
                    height: 100px;
                    padding-left: 12px;
                    font-family: PingFang SC, PingFang SC;
                    font-weight: 400;
                    font-size: 16px;
                    color: #333333;
                    line-height: 22px;
                    text-align: left;
                    font-style: normal;
                    text-transform: none;

                }

                >p:hover {
                    box-shadow: 0 0 16px 1px rgba(0, 0, 0, 0.1);
                }
            }
        }

    }
}
</style>